var popup = {

  _update_content_default: function(data) {
    //update text
    $.each(data, function(i,e){
      $('#field-'+i).html(e);
    });

    //update button
    if (data.status == null) {
      $('#loading-bar').removeClass('bar-warning').removeClass('bar-danger');
      $('#go-button').removeClass('hide').addClass('btn-info').removeClass('btn-danger')
      .unbind('click.wt')
      .bind('click.wt', popup.go_work)
      .text(data.button);
    } else {
      $('#loading-bar').removeClass('bar-warning').addClass('bar-danger');
      $('#go-button').removeClass('hide').removeClass('btn-info').addClass('btn-danger')
      .unbind('click.wt')
      .bind('click.wt', popup.go_relax)
      .text(data.button);
    }
  },
  
  update_content: function(res, loading){

    if (typeof res.success != 'undefined') {
      var data = res.data;
      popup._update_content_default(data);
    }
    
    //loading case
    if (typeof loading != 'undefined') {
      $('.main-button').addClass('hide');
      $('#loading').removeClass('hide');
    }
    
  },
  
  go_work: function(){
    popup.update_content(false, 'loading...');
    chrome.extension.sendMessage({popup_go_work: true}, function(response) {
          popup.update_content(response);
    });
  },
  go_relax: function(){
    popup.update_content(false, 'loading...');
    chrome.extension.sendMessage({popup_go_relax: true}, function(response) {
          popup.update_content(response);
    });
  }
  
  
  
  
}


$(function() {

  //onPopup
  chrome.extension.sendMessage({popup_get_cache: true}, function(response) {
          popup.update_content(response, 'loading...');
  });
  chrome.extension.sendMessage({popup_get: true}, function(response) {
          popup.update_content(response);
  });

  //main button's handlers
  $('#label').click(function(){
    chrome.extension.sendMessage({popup_open_spot: true});
  });


});


/* debug */
function c(obj) { $('body').append('<pre>'+JSON.stringify(obj, null, 2)+'</pre>'); }